var $,tab,dataStr,layer;
layui.config({
	base : "/system/js/"
}).extend({ 
	"bodyTab" : "bodyTab"
})
layui.use(['bodyTab','form','element','layer','jquery'],function(){
	var form = layui.form,
		element = layui.element;
		$ = layui.$;
    	layer = parent.layer === undefined ? layui.layer : top.layer;
		tab = layui.bodyTab({
			openTabNum : "50",  //最大可打开窗口数量
			url : "/getMenuList" //获取菜单json地址
		});
		 var active = {
	        //在这里给active绑定几项事件，后面可通过active调用这些事件
	        tabAdd: function(url,id,name) {
//			        	console.log(url)
	            //新增一个Tab项 传入三个参数，分别对应其标题，tab页面的地址，还有一个规定的id，是标签中data-id的属性值
	            //关于tabAdd的方法所传入的参数可看layui的开发文档中基础方法部分
	        	var title='<cite>'+name+'</cite><i class="layui-icon layui-unselect layui-tab-close" data-id="6">ဆ</i>'
	        	element.tabAdd('bodyTab', {
	                title: title,
	                content: '<iframe data-id="'+id+'" scrolling="no" frameborder="0" src="'+url+'" style="width:100%;"></iframe>',
	                id: new Date().getTime() //规定好的id
	            })
	            $('#top_tabs>li').removeClass('layui-this');
	        	$('.clildFrame>.layui-tab-item').removeClass('layui-show');
	            $('#top_tabs>li:last-child').addClass('layui-this');
	            $('.clildFrame>.layui-tab-item:last-child').addClass('layui-show');
	            layui.element.render('tab');
	        },
	        tabChange: function(id) {
	            //切换到指定Tab项
	        	element.tabChange('bodyTab', id); //根据传入的id传入到指定的tab项
	            // console.log(contentnav)
	        },
	        tabDelete: function (id) {
	        	parent.layui.element.tabDelete("bodyTab", id);//删除
	        },
	        tabDeleteAll: function (ids) {//删除所有
	            $.each(ids, function (i,item) {
	            	parent.layui.element.tabDelete("bodyTab", item); //ids是一个数组，里面存放了多个id，调用tabDelete方法分别删除
	            })
	        }
	    };
//		搜索页面
		$("#search-icon").click(function(layero){
//			搜索名称
			var name = $("#search .layui-input").val();
//			id
			var id=$(".layui-anim .layui-this").attr("lay-value");
			$.ajax({
				url:"/sysResource/list",
				data:{name:name},
				type:'post',
				dataType:'json',
				success:function(resource){
					if(resource.data.length==1){
//						当前地址
						var url=resource.data[0].url;
						if(url!=''&&url!=null){
							if ($(".layui-tab-title li[lay-id]").length <= 1) {
			                    //如果比1小，则直接打开新的tab项
			                    active.tabAdd(url,id,name);
			                } else {
			                    //否则判断该tab项是否以及存在
			                	var isData = false; //初始化一个标志，为false说明未打开该tab项 为true则说明已有
			                    $.each($(".layui-tab-title li[lay-id]"), function () {
			                    	var _this=$(this);
			                        //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
			                        if (_this.find("cite").text() == name) {
			                            isData = true; 
			                            _this.addClass("layui-this").siblings().removeClass("layui-this");
//			                           	 重复以后刷新页面
			                            $.each($('.clildFrame>.layui-tab-item'),function(){
			                            	if($(this).find("iframe").attr("data-id")){
			                            		if($(this).find("iframe").attr("data-id") == id){
//			                            			当前不需要重新给iframe的src赋值，只需把隐藏的显示即可
			                                		$(this).addClass("layui-show").siblings().removeClass("layui-show");
			                                	}
			                            	}
			                            })
			                        }
			                    })
			                    if (isData == false) {
			                        //标志为false 新增一个tab项
			                        active.tabAdd(url, id,name);
			                    }
			                }
						}else{
							$("#page").attr("src","/security/main/main.html");
						}
					}else{
						$("#page").attr("src","/security/main/main.html");
					}
				}
			})
		})
//		function showSystem(layero){
//			
//		}
	//通过顶部菜单获取左侧二三级菜单   注：此处只做演示之用，实际开发中通过接口传参的方式获取导航数据
	function getData(json){
		$.getJSON(tab.tabConfig.url,function(data){
			if(json == "contentManagement"){
				dataStr = data.data;
				//重新渲染左侧菜单
				tab.render();
			}
		})
	}
	//页面加载时判断左侧菜单是否显示
	//通过顶部菜单获取左侧菜单
	$(".topLevelMenus li,.mobileTopLevelMenus dd").click(function(){
		if($(this).parents(".mobileTopLevelMenus").length != "0"){
			$(".topLevelMenus li").eq($(this).index()).addClass("layui-this").siblings().removeClass("layui-this");
		}else{
			$(".mobileTopLevelMenus dd").eq($(this).index()).addClass("layui-this").siblings().removeClass("layui-this");
		}
		$(".layui-layout-admin").removeClass("showMenu");
		$("body").addClass("site-mobile");
		getData($(this).data("menu"));
		//渲染顶部窗口
		tab.tabMove();
	})

	//隐藏左侧导航
	$(".hideMenu").click(function(){
		if($(".topLevelMenus li.layui-this a").data("url")){
			layer.msg("此栏目状态下左侧菜单不可展开");  //主要为了避免左侧显示的内容与顶部菜单不匹配
			return false;
		}
		$(".layui-layout-admin").toggleClass("showMenu");
		
		//渲染顶部窗口
		tab.tabMove();
	})

	//通过顶部菜单获取左侧二三级菜单   注：此处只做演示之用，实际开发中通过接口传参的方式获取导航数据
	getData("contentManagement");
	
	//手机设备的简单适配
    $('.site-tree-mobile').on('click', function(){
		$('body').addClass('site-mobile');
	});
    $('.site-mobile-shade').on('click', function(){
		$('body').removeClass('site-mobile');
	});

	// 添加新窗口
	$("body").on("click",".layui-nav .layui-nav-item a:not('.mobileTopLevelMenus .layui-nav-item a')",function(){
		//如果不存在子级
		if($(this).siblings().length == 0){
			addTab($(this));
			$('body').removeClass('site-mobile');  //移动端点击菜单关闭菜单层
		}
		$(this).parent("li").siblings().removeClass("layui-nav-itemed");
	})

	//清除缓存
	$(".clearCache").click(function(){
		window.sessionStorage.clear();
        window.localStorage.clear();
        var index = layer.msg('清除缓存中，请稍候',{icon: 16,time:false,shade:0.8});
        setTimeout(function(){
            layer.close(index);
            layer.msg("缓存清除成功！");
        },1000);
    })

	//刷新后还原打开的窗口
    if(cacheStr == "true") {
        if (window.sessionStorage.getItem("menu") != null) {
            menu = JSON.parse(window.sessionStorage.getItem("menu"));
            curmenu = window.sessionStorage.getItem("curmenu");
            var openTitle = '';
            for (var i = 0; i < menu.length; i++) {
                openTitle = '';
                if (menu[i].icon) {
                    if (menu[i].icon.split("-")[0] == 'icon') {
                        openTitle += '<i class="seraph ' + menu[i].icon + '"></i>';
                    } else {
                        openTitle += '<i class="layui-icon">' + menu[i].icon + '</i>';
                    }
                }
                openTitle += '<cite>' + menu[i].title + '</cite>';
                openTitle += '<i class="layui-icon layui-unselect layui-tab-close" data-id="' + menu[i].layId + '">&#x1006;</i>';
                element.tabAdd("bodyTab", {
                    title: openTitle,
                    content: "<iframe src='" + menu[i].href + "' data-id='" + menu[i].layId + "'></frame>",
                    id: menu[i].layId
                })
                //定位到刷新前的窗口
                if (curmenu != "undefined") {
                    if (curmenu == '' || curmenu == "null") {  //定位到后台首页
                        element.tabChange("bodyTab", '');
                    } else if (JSON.parse(curmenu).title == menu[i].title) {  //定位到刷新前的页面
                        element.tabChange("bodyTab", menu[i].layId);
                    }
                } else {
                    element.tabChange("bodyTab", menu[menu.length - 1].layId);
                }
            }
            //渲染顶部窗口
            tab.tabMove();
        }
    }else{
		window.sessionStorage.removeItem("menu");
		window.sessionStorage.removeItem("curmenu");
	}
	
	//查询所配置的模块
 $.post({
	 	url:"/main/toList",
	 	data:{},
	 	success: function (data) {
	 		if(data){
	 			for(var i=0;i<=data.length;i++){
	 				$("#"+data[i].module).show();
	 			}
	 		}
	   },error:function (data) {
	   		layer.alert("操作请求错误，请您稍后再试");
	       }
	});
 

 $.post({
 	 	url:"/user/view",
 	 	success: function (user) {
 	 		//$("#footer").text(user.data.showName+"      邮箱："+user.data.email);
 	 		$(".userName").text(user.data.showName);
 	 		$(".adminName").text(user.data.showName);
 	 		if(user.data.head){
 	 			$(".userAvatar").attr("src",user.data.head);
 	 		}
 	   },error:function (data) {
 	   		layer.alert("操作请求错误，请您稍后再试");
 	       }
 	});
	 //系统参数
	 $.post({
	  	url:"/sysPara/getData",
	  	data:{},
	  	success: function (result) {
	  		document.title = result.data.cmsName;
	  		$(".logo").text(result.data.cmsName);
	     }
	 });
})


//打开新窗口
function addTab(_this){ 
	tab.tabAdd(_this);
}


//图片管理弹窗
function showImg(){
    $.getJSON('json/images.json', function(json){
        var res = json;
        layer.photos({
            photos: res,
            anim: 5
        });
    });
}



//-------------------------------修改密码弹窗    @Licht----------------------------
function showUpdPassword(){
	layui.use('layer', function(){
		var layer = layui.layer;
		layer.open({
			type: 2,
			title: '修改密码',
			area: ['400px', '300px'],
			content: ['/user/toUpdPassword','no']
		}); 
	});
}

